1. Field of the Invention
The current invention relates generally to wireless telecommunications devices and, in particular, to an automated and wireless method for loading data into electronic devices which have a wireless interface.
2. Description of the Related Art
Modern cellular telephones contain a microcontroller and other circuits which perform various functions such as controlling radio circuits, providing a user interface and user features through interaction with a display, keypad and other phone elements, minimizing power consumption to extend talk and standby times, controlling battery charging, and many other functions. A software program executed by the microcontroller is stored in a non-volatile memory device in the phone, which retains data even when no power is applied to the memory. In some phone designs, this memory is a "read only memory", or ROM. The data content of a ROM is determined when the ROM is manufactured. Once the manufacturing process for a ROM is complete, the data content of the ROM cannot be changed. In other phone designs, a "flash" memory is used. The data content of a flash memory can be altered electronically.
Due to the complexity of cellular telephones, manufactured phones sometimes contain errors in the microcontroller software. Additionally, customers often desire updated software for existing phones to obtain new or enhanced features. In either case, the software program for the microcontroller must be changed in phones which have completed and passed all manufacturing steps. If the phone uses a ROM to store the program, the phone must be disassembled and the ROM module must be replaced with a new module containing the desired changes. If the phone uses a flash memory to store the program, in order to update the memory the phone must be physically connected to a device capable of loading, or "flashing" new content into the memory.
In some situations, it is necessary to re-program phones which have been assembled and packaged, but which have not yet been shipped to customers. For this case, the completed phones reside in the manufacturer's warehouse or distribution center. In other situations, changes must be made to phones already received by the customer. In such a case, the customer normally returns the phones to the manufacturer for re-programming.
Altering program data in phones which use a ROM is very labor intensive, due to the need to unpack the phone (from the shipping package), disassemble the phone, remove the old ROM, install the new ROM, re-assemble the phone, test and re-pack the phone. For phones that contain a flash memory, the program can be changed by connecting a cable from a programming device to the phone, thereby eliminating the need to physically replace the memory module. However, the labor required is still quite substantial because the phone must be unpacked, updated, tested and re-packed.
Thus, a costly problem exists for cellular phone manufacturers with regard to software design and software changes. The cellular telephone market demands ever-increasing functionality and feature content (most of which is provided by the software), decreasing costs and shorter time to market. These demands increase the likelihood of software errors and customer requests for software changes in existing products. However, the labor required to modify the software in phones (even those with flash memories) makes these changes very costly.
Changes to the data content of non-volatile memories within cellular phones is not always confined to the microcontroller software. For example, a need may arise to change a factory setting (stored as a digital value within the memory), to correct date codes or other data related to manufacturing information, or to load data to activate a phone. The problems identified for changing the software content of a phone also apply to other types of data stored within the non-volatile memories.
Moreover, the problem of memory updating is not restricted to cellular telephones, but is common to any electronic device having data or programs stored in a nonvolatile memory.